/* 
 * File:   MotorDesplazamiento.cpp
 * Author: 75.02 - Grupo 7, 2do cuatrimestre 2012.
 * 
 * Created on 31 de octubre de 2012, 19:21
 */

#include "MotorDesplazamiento.h"
using namespace TP::Juego::Motorizacion;

MotorDesplazamiento::MotorDesplazamiento(){
}

MotorDesplazamiento::~MotorDesplazamiento() {
}

Ticks MotorDesplazamiento::notificacionAvanceTiempo (Ticks pTiempo){
    
    /* Para toda arena de juego (escenario) => 
     * Para todo Actor en el escenario =>
     * Induce el avance del actor en el escenario pTiempo a traves de su 
     * trayectoria.
     */
    for (vector<Partida*>::iterator itPartidas = this->getPartidas().begin(); itPartidas < this->getPartidas().end(); ++itPartidas)
    {
        for (vector<Actor*>::iterator itActores = (*itPartidas)->ArenaJuego()->getActores().begin(); 
                itActores != (*itPartidas)->ArenaJuego()->getActores().end();
                ++itActores)
            (*itActores)->desplazar(pTiempo);
    }
}

Partida* MotorDesplazamiento::correrPartida (Partida* pPartida){
    
    if (pPartida)
        this->_partidas.push_back(pPartida);
}

vector<Partida*>& MotorDesplazamiento::getPartidas(){
    return this->_partidas;
}
